home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / ham / cat990.zip / FT990.H < prev    next >
C/C++ Source or Header  |  1993-02-01  |  5KB  |  235 lines

  1. /**********************************************************
  2. *                 FT990.h                                 *
  3. *   
  4. *   This include file provides all the commands and       *
  5. *   return Record format from all commands                *
  6. **********************************************************/
  7.  
  8. /*   Date    Version        Author        Description
  9.     --------    -------        ----------    --------------------------
  10.     06-24-92    1.00        Robert Cartier    Program Creation
  11.  
  12. */
  13.  
  14. /* define Commands */
  15.  
  16. #define SPLIT        0x01    /* switch split vfo operation on/1 off/0 */
  17. #define RECALL_MEM    0x02    /* recalls memory number channel 01 - 5ah */
  18. #define VFO_M        0x03    /* copy display to memory channel */
  19. #define LOCK_DIAL    0x04    /* lock vfo knob */
  20. #define SELECT_VFO    0x05    /* select a/b vfo */
  21. #define M_VFO        0x06    /* copy memory channel t last used vfo */
  22. #define UP        0x07    /* step current display (0=+100khz) (1=+1mhz)*/
  23. #define DOWN        0x08    /* step current display (0=-100khz) (1=-1mhz)*/
  24. #define CLARFIER    0x09    /* see manual for tx/rx clarifier info */
  25. #define SET_FREQ    0x0a    /* enter new op freq in BCD format */
  26. #define SET_MODE    0x0c    /* set op mode LSB/USB/CW/AM/FM/RTTY/PKT */
  27. #define PACING        0x0e    /* add delay to character pacing */
  28. #define PTT        0x0f    /* transmitter on/1 off/0  */
  29. #define UPDATE        0x10    /* instructs radio to return status */
  30. #define ANT_TUNER    0x81    /* turn on antenna tuner */
  31. #define TUNER_START    0x82    /* start antenna tuner */
  32. #define RPT_SHIFT    0x84    /* select repeater offset sinplex/+/- */
  33. #define A_EQUAL_B    0x85    /* copy displayed vfo to other vfo */
  34. #define BANDWIDTH    0x8c    /* select bandwidth 250/500/2.2k/2.4k */
  35. #define MEMORY_SKIP    0x8d    /* skip specified mem channel during scan */
  36. #define STEP_FREQ    0x8e    /* step operating freq up/down */
  37. #define READ_METER    0xf7    /* read meter depedent on position */
  38. #define DIM_LEVEL    0xf8    /* dim level of amber display */
  39. #define RPT_OFFSET    0xf9    /* repeater offset in BCD */
  40. #define READ_FLAGS    0xfa    /* read 24 s-bit status flags (5 bytes) */
  41.  
  42. #define ON        0x01
  43. #define TRUE        0x01
  44.  
  45. #define OFF        0x00
  46. #define FALSE        0x00
  47.  
  48. #define COMMAND_SIZE    0x05    /* maximum characters sent for command */
  49. #define UPDATE_DATA_SIZE 1492   /* maximum update response */
  50.  
  51. typedef unsigned char    BYTE;    /* 8 bits  */
  52. typedef unsigned int    WORD;    /* 16 bits */
  53.  
  54. typedef struct BYTE_MAP{
  55.     unsigned    bit_0 : 1,
  56.         bit_1 : 1,
  57.         bit_2 : 1,
  58.         bit_3 : 1,
  59.         bit_4 : 1,
  60.         bit_5 : 1,
  61.         bit_6 : 1,
  62.         bit_7 : 1;
  63. }BYTE_MAP;
  64.  
  65. typedef struct WORD_MAP{
  66.     unsigned    bit_0 : 1,
  67.         bit_1 : 1,
  68.         bit_2 : 1,
  69.         bit_3 : 1,
  70.         bit_4 : 1,
  71.         bit_5 : 1,
  72.         bit_6 : 1,
  73.         bit_7 : 1,
  74.         bit_8 : 1,
  75.         bit_9 : 1,
  76.         bit_10: 1,
  77.         bit_11: 1,
  78.         bit_12: 1,
  79.         bit_13: 1,
  80.         bit_14: 1,
  81.         bit_15: 1;
  82. }WORD_MAP;
  83.  
  84. struct send_command{
  85.     BYTE     opcode,
  86.         data[4];
  87. }cmd;
  88.  
  89. struct send_fill{
  90.     BYTE    fill[COMMAND_SIZE];
  91.  
  92. }cmd_fill;
  93.  
  94. union send_cmd{ 
  95.     struct    send_command    cmd;
  96.     struct    send_fill    cmd_fill;
  97. }send;
  98.  
  99.  
  100. struct rcv_flags{
  101.     BYTE_MAP    byte_1;
  102.     BYTE_MAP    byte_2;
  103.     BYTE_MAP    byte_3;
  104.     BYTE        pad1;
  105.     BYTE        pad2;
  106.  
  107. }r_flags;
  108.  
  109. struct read_meter{
  110.     BYTE    meter1,
  111.         meter2,
  112.         meter3,
  113.         meter4,
  114.         pad;
  115. }r_meter;
  116.  
  117. struct receive_data{
  118.     BYTE     fill[5];
  119. }r_data;
  120.  
  121. union receive_command{
  122.     struct    rcv_flags    r_flags;
  123.     struct    read_meter    r_meter;
  124.     struct  receive_data    rcv_data;
  125. }rcv_cmd;
  126.  
  127. struct receive_update_data{
  128.     BYTE_MAP    byte_1,
  129.         byte_2,
  130.         byte_3;
  131.     BYTE    mem_ch,
  132.             current[16],
  133.         vfo_a[16],
  134.         vfo_b[16],
  135.         mem1[16],
  136.         mem2[16],
  137.         mem3[16],
  138.         mem4[16],
  139.         mem5[16],
  140.         mem6[16],
  141.         mem7[16],
  142.         mem8[16],
  143.         mem9[16],
  144.         mem10[16],
  145.         mem11[16],
  146.         mem12[16],
  147.         mem13[16],
  148.         mem14[16],
  149.         mem15[16],
  150.         mem16[16],
  151.         mem17[16],
  152.         mem18[16],
  153.         mem19[16],
  154.         mem20[16],
  155.         mem21[16],
  156.         mem22[16],
  157.         mem23[16],
  158.         mem24[16],
  159.         mem25[16],
  160.         mem26[16],
  161.         mem27[16],
  162.         mem28[16],
  163.         mem29[16],
  164.         mem30[16],
  165.         mem31[16],
  166.         mem32[16],
  167.         mem33[16],
  168.         mem34[16],
  169.         mem35[16],
  170.         mem36[16],
  171.         mem37[16],
  172.         mem38[16],
  173.         mem39[16],
  174.         mem40[16],
  175.         mem41[16],
  176.         mem42[16],
  177.         mem43[16],
  178.         mem44[16],
  179.         mem45[16],
  180.         mem46[16],
  181.         mem47[16],
  182.         mem48[16],
  183.         mem49[16],
  184.         mem50[16],
  185.         mem51[16],
  186.         mem52[16],
  187.         mem53[16],
  188.         mem54[16],
  189.         mem55[16],
  190.         mem56[16],
  191.         mem57[16],
  192.         mem58[16],
  193.         mem59[16],
  194.         mem60[16],
  195.         mem61[16],
  196.         mem62[16],
  197.         mem63[16],
  198.         mem64[16],
  199.         mem65[16],
  200.         mem66[16],
  201.         mem67[16],
  202.         mem68[16],
  203.         mem69[16],
  204.         mem70[16],
  205.         mem71[16],
  206.         mem72[16],
  207.         mem73[16],
  208.         mem74[16],
  209.         mem75[16],
  210.         mem76[16],
  211.         mem77[16],
  212.         mem78[16],
  213.         mem79[16],
  214.         mem80[16],
  215.         mem81[16],
  216.         mem82[16],
  217.         mem83[16],
  218.         mem84[16],
  219.         mem85[16],
  220.         mem86[16],
  221.         mem87[16],
  222.         mem88[16],
  223.         mem89[16],
  224.         mem90[16];
  225. }r_update_data;
  226.  
  227. struct receive_update_fill{
  228.     BYTE    fill[1492];
  229. }r_update_fill;
  230.  
  231. union rcv_update_data{
  232.     struct    receive_update_data    r_update_data;
  233.     struct    receive_update_fill    r_update_fill;
  234. }r_update;
  235.